package com.designPattern.bridge.easierexample;

import com.designPattern.bridge.easierexample.brand.impl.XiaoMi;
import com.designPattern.bridge.easierexample.phone.Phone;
import com.designPattern.bridge.easierexample.phone.impl.FoldPhone;

/**
 * 在这个例子中phone相当于是【抽象】（会调用行为实现）
 * 而品牌相当于是【行为实行】，定义且实现了手机的具体操作
 * 将Brand聚合在Phone中，在创建Phone类中的时候只需要传入【桥接了】Brand类
 * 就调用Brand中的方法
 * 【优点】如果不将Brand聚合，就会出现每一种手机是一个父类，当有一个品牌新出现的时候
 * 品牌都需要继承所有手机种类类，拓展性很差
 * 如果将Brand聚合，那么有新品牌的时候就只需要继承Brand类
 * 实现相应的方法就可以完成对所有手机种类的使用。
 */
public class Test2 {
    public static void main(String[] args) {
        FoldPhone phone1 = new FoldPhone(new XiaoMi());
        phone1.call();
        phone1.close();
        phone1.open();
    }
}
